package com.bm.service;

import com.bm.Result.Result;
import com.bm.Vo.Login.LoginInfoVo;
import com.bm.Vo.Login.ValidateCodeVo;
import com.bm.model.EjyyPropertyCompanyUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bm.query.Login.AccountLoginQuery;
import com.bm.query.init.InitQuery;

import javax.servlet.http.HttpServletRequest;

/**
*
*/
public interface EjyyPropertyCompanyUserService extends IService<EjyyPropertyCompanyUser> {

    /**
     * 根据用户的账户密码登录
     *
     * @param accountLoginQuery
     * @return
     */
    Result login(AccountLoginQuery accountLoginQuery);


    /**
     * 生成验证码
     * @return
     */
    ValidateCodeVo createValidateCode();

    /**
     * 用户登录初始化数据
     * @return
     */
    LoginInfoVo getUserInfo();

    /**
     * 退出登录
     */
    boolean logout(HttpServletRequest httpServletRequest);

    /**
     * 修改密码
     * @return
     */
    boolean reset(EjyyPropertyCompanyUser propertyCompanyUser);

    /**
     * 初始化数据
     * @param initQuery
     * @return
     */
    Boolean initRun(InitQuery initQuery);
}
